home *** CD-ROM | disk | FTP | other *** search
- property layerList, backLabelSprite, frontLabelSprite, labelsOn, labelLayer, dontHide
-
- on catchEvent me, xLayer
- if xLayer = #mouseUp then
- set dontHide to 0
- else
- if labelsOn then
- if the myName of xLayer <> the myName of labelLayer then
- set dontHide to 0
- hideLabels(me)
- end if
- end if
- repeat with i in layerList
- if i = xLayer then
- set labelLayer to i
- next repeat
- end if
- crankDown(i)
- end repeat
- crankUp(labelLayer)
- set theLayerName to toString(labelLayer)
- set the member of sprite backLabelSprite to member (theLayerName && "shadow")
- set the member of sprite frontLabelSprite to member (theLayerName && "labels")
- if not labelsOn then
- set labelsOn to 1
- set the visible of sprite backLabelSprite to 1
- set the visible of sprite frontLabelSprite to 1
- set dontHide to 1
- end if
- end if
- end
-
- on hideLabels me
- if not dontHide then
- if labelsOn then
- set the visible of sprite backLabelSprite to 0
- set the visible of sprite frontLabelSprite to 0
- repeat with i in layerList
- beNormal(i)
- end repeat
- end if
- set labelsOn to 0
- end if
- end
-
- on new me, xBackSprite, xFrontSprite
- set backLabelSprite to xBackSprite
- set frontLabelSprite to xFrontSprite
- set layerList to [:]
- set labelsOn to 0
- puppetSprite(backLabelSprite, 1)
- puppetSprite(frontLabelSprite, 1)
- set the visible of sprite backLabelSprite to 0
- set the visible of sprite frontLabelSprite to 0
- return me
- end
-
- on addThing me, xThing
- addProp(layerList, the number of member (toString(xThing) && "Labels"), xThing)
- end
-